home *** CD-ROM | disk | FTP | other *** search
- property videoDisplay, imageDisplay, textDisplay, titleBar, demoButton, statusMember, statusMessage, killList, hotspotList, eventList
-
- on new me, params
- set killList to []
- set eventList to []
- set hotspotList to []
- set videoDisplay to 0
- set imageDisplay to 0
- set textDisplay to 0
- set titleBar to 0
- set demoButton to 0
- set statusMember to 0
- if not voidp(params) then
- set statusMessage to getaProp(params, #statusMessage)
- end if
- cursor(-1)
- return me
- end
-
- on CheckIdle me, currSprite, currLine
- set setCursor to 0
- set showMessage to 1
- repeat with obj in hotspotList
- if CheckRoll(obj, currSprite, currLine) then
- set setCursor to IsClickable(obj)
- if ShowedMessage(obj) then
- set showMessage to 0
- end if
- end if
- end repeat
- if showMessage and not voidp(statusMessage) and (the number of member statusMember > 0) then
- set the text of member statusMember to statusMessage
- end if
- repeat with obj in eventList
- CheckIdle(obj)
- end repeat
- return setCursor
- end
-
- on CheckMouseDowns me, currSprite, currLine
- set destination to -1
- repeat with obj in hotspotList
- set myDest to CheckDown(obj, currSprite, currLine)
- if myDest <> -1 then
- set destination to myDest
- end if
- end repeat
- return destination
- end
-
- on NewVideoDisplay me, params
- put "Generic Menu Class - NewVideoDisplay"
- addProp(params, #spritenum, GetGlobal(#videosprite))
- set videoDisplay to NewObject(me, "Video Display Class", params)
- append(eventList, videoDisplay)
- end
-
- on NewImageDisplay me
- set imageDisplay to NewObject(me, "Image Display Class", [#spritenum: GetGlobal(#imageSprite)])
- end
-
- on NewTextDisplay me, params
- if voidp(params) then
- set params to [#spritenum: GetGlobal(#textSprite)]
- end if
- if voidp(getaProp(params, #spritenum)) then
- addProp(params, #spritenum, GetGlobal(#textSprite))
- end if
- set textDisplay to NewObject(me, "Text Display Class", params)
- end
-
- on SetTitleBar me, params
- set titleBar to getaProp(params, #titleBar)
- if the number of member titleBar > 0 then
- set the text of member titleBar to " "
- end if
- end
-
- on NewDemoButton me, params
- set demoButton to NewObject(me, "Demo Button Class", params)
- return demoButton
- end
-
- on SetStatusMember me, params
- set statusMember to getaProp(params, #statusMember)
- end
-
- on NewEvent me, obj
- append(the eventList of me, obj)
- end
-
- on NewLauncher me, paramList
- set newDemo to getaProp(paramList, #demo)
- set newURL to getaProp(paramList, #url)
- set spritenum to getProp(paramList, #spritenum)
- set message to getaProp(paramList, #message)
- set currMenu to the currMenu of GetGlobal(#gTitleObject)
- set button to BasicButton(currMenu, [#hotSprites: [spritenum], #statusMessage: message])
- set btnAction to NewObject(currMenu, "Demo Button Class", [#launchButton: spritenum])
- init(btnAction, newDemo, newURL)
- AddDown(button, btnAction)
- end
-
- on dispose me
- put "dispose generic Menu Class" && me
- set eventList to []
- set hotspotList to []
- set videoDisplay to 0
- set imageDisplay to 0
- set textDisplay to 0
- set titleBar to 0
- set demoButton to 0
- set statusMember to 0
- ClearObjectList(killList)
- set killList to []
- end
-